const HtmlWebpackPlugin = require('html-webpack-plugin');
const path = require('path');
const dist = "./dist";
const now = Date.now();

const config = {
  mode: "development",
  entry: {
    // 相对路径,以配置文件所在目录为基准
    index: "./src/test.js",
  },
  output: {
    // 磁盘导出路径
    path: path.resolve(dist),
    filename: "js/[name].js?v=" + now,
    // 插入到html文件中的静态资源地址
    // 如果是devServer启动时候，该地址的实际内存资源地址由devServer中配置的publicPath决定
    publicPath: "http://localhost:9000/build",
  },
  plugins: [
    new HtmlWebpackPlugin({
      title: "拍车",
      // 静态资源导出路径,效果同output的publicPath
      // 但与output的public不同的是的是，该路径也会影响最终的内存静态资源地址
      filename: "html/" + 'test'+ ".html",
      // 模版来源地址
      template: "./src/temp/" + 'test' + ".html",
      // 静态资源（代指js,css等静态资源文件）
      inject: "body",
      chunks: ['index'], //此处必须用数组
      chunksSortMode: "none",
    }),
  ],
  devServer: {
    // 无需webpack处理的资源目录，大多数情况下可以理解为服务器根目录，
    // 但并不准确，如果静态资源不在根目录时候不适用
    contentBase: [path.join(__dirname, "build"),"/"],
    // 服务器静态资源目录，多数情况下需要与资源的publicPath保持一致，除非资源引用使用绝对路径
    publicPath: "/build/",
    compress: true,
    port: 9000
  },
};

module.exports = config;
